const path = require('path')
const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
  publicPath: '/',
  transpileDependencies: true,
  pages: {
    index: {
      entry: 'src/views/index/main.js',
      template: 'public/index.html',
      filename: 'index.html',
      title: 'index'
    },
    about: {
      entry: 'src/views/about/main.js',
      template: 'public/index.html',
      filename: 'about.html',
      title: 'about'
    }
  },
  pluginOptions: {
    'style-resources-loader': {
      preProcessor: 'scss',
      patterns: [
        // 全局scss变量存储路径
        path.resolve(__dirname, 'src/assets/styles/variables.scss')
      ]
    },
    electronBuilder: {
      chainWebpackMainProcess: (config) => {
        config.output.filename((file) => {
          if (file.chunk.name === 'index') {
            return 'background.js'
          } else {
            return '[name].js'
          }
        })
      },
      preload: 'src/preload.js',
      productName: 'ui-recorder',
      nsis: { // nsis相关配置，打包方式为nsis时生效
        oneClick: false, // 是否一键安装
        allowElevation: true, // 允许请求提升，如果为false，则用户必须使用提升的权限重新启动安装程序。
        allowToChangeInstallationDirectory: true, // 允许修改安装目录
        installerIcon: './build/icon.ico', // 安装图标
        uninstallerIcon: './build/icon.ico', // 卸载图标
        installerHeaderIcon: './build/icon.ico', // 安装时头部图标
        createDesktopShortcut: true, // 创建桌面图标
        createStartMenuShortcut: true // 创建开始菜单图标
        // shortcutName: 'xxxx' // 图标名称
        // include: 'build/script/installer.nsh'// 包含的自定义nsis脚本
      },
      win: {
        icon: 'build/icon.ico',
        target: [
          {
            target: 'nsis', // 使用nsis打成安装包，"portable"打包成免安装版
            arch: [
              'ia32', // 32位
              'x64'// 64位
            ]
          }
        ]
      },
      mac: {
        icon: 'build/icon.icns'
      },
      linux: {
        icon: 'build'
      }
    }
  }
})
